1. Field of the Invention
The present invention relates to systems and methods of generating test cases, and in particular to a method and system for generating test cases using a test object library.
2. Description of the Related Art
The past two decades have seen a rapid proliferation of computer application programs. To be competitive, software applications must be responsive to customer""s rapidly evolving needs, and must be as bug-free as possible. One method of assuring that a software release is bug free by testing the software with a wide variety of test cases, carefully chosen to test all critical modules in the software product. Such testing procedures are especially important where the software under test is designed to operate across a number of processors or other systemns operating in parallel. In such cases, the individuals writing the test cases should be familiar the operating system or communication protocols for all of the elements in the system. Unfortunately, there are few individuals with all of the skills necessary to write a complete test program.
The development and execution of software test cases also takes an large investment of time and resources, and can delay the timely introduction of a software product to the marketplace. Because software applications are written and sold in a highly competitive environment, there is an urgent need to reduce the cost and time involved in testing software.
Typically, the process of developing software test procedures begins with the generation of a test plan with test objectives and procedures. That test plan is published and subject to review. If the test plan is approved, detailed automated test code is written. Invariably, the test code does not function as desired, and changes must be made to the code, often implicating major changes in the test plan as well. However, in the rush to bring the software product to market, it often occurs that the test plan is never updated to reflect the new test procedures. Even if the exigencies of the situation permit the test plan to be updated, this effort usually involves a significant amount of time and money.
What is needed is an improved system and method for developing test cases. The present invention satisfies that need by offering a system that relieves the system test designer from writing the automated code from scratch. Instead, the test designer is provided with a library of test objects, each implementing a portion of the automated test procedure. When one of the objects in the library are selected, the user is prompted to select from test object options that define required test parameters, thus simplifying the process. The system and method for developing test cases also relieves the test case designer from the burden of familiarizing themselves with the protocols and interoperability requirement for each and every system element used by the software, and allows the test plan to be updated and documented with significantly less effort.
To address the requirements described above, the present invention discloses a method, apparatus, article of manufacture, for generating a test code for an automatic procedure.
The method comprises the steps of presenting a visual representation of a library of executable code objects comprising a plurality of test objects to a user, accepting a selection of a first test object in the visual representation, presenting first test object options defining at least one test parameter, accepting a selection of a first test option, translating the first test option into at least one tag and at least one tag parameter, and storing the tag and the tag parameter in a source file. The article of manufacture comprises a data storage device tangibly embodying instructions to perform the method steps described above.
The apparatus comprises means for presenting a visual representation of a library of executable code objects to a user. The library of executable code objects includes a plurality of test object members, each of which define a set of instructions for performing a portion of the test procedure. Nominally, the means for performing these functions comprises a computer implementing suitable program instructions. The apparatus also comprises means, such as a computer implementing a graphical user interface, for accepting a selection of a first test object in the visual representation, presenting test options for the selected test object, and accepting a test object option. The apparatus also comprises a means for translating the first test option into one tag and at least one tag parameter, which is stored in a source file.